home *** CD-ROM | disk | FTP | other *** search
/ NeXT Education Software Sampler 1992 Fall / NeXT Education Software Sampler 1992 Fall.iso / Programming / Source / winterp-1.13 / src-server / w_XmString.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-10-04  |  4.0 KB  |  86 lines

  1. /* -*-C-*-
  2. ********************************************************************************
  3. *
  4. * File:         w_XmString.h
  5. * RCS:          $Header: w_XmString.h,v 1.1 91/03/14 03:13:02 mayer Exp $
  6. * Description:  Declare Puclic Interfaces to XmString routines
  7. * Author:       Niels Mayer, HPLabs
  8. * Created:      Sun Nov  5 14:46:20 1989
  9. * Modified:     Thu Oct  3 20:14:56 1991 (Niels Mayer) mayer@hplnpm
  10. * Language:     C
  11. * Package:      N/A
  12. * Status:       X11r5 contrib tape release
  13. *
  14. * WINTERP Copyright 1989, 1990, 1991 Hewlett-Packard Company (by Niels Mayer).
  15. * XLISP version 2.1, Copyright (c) 1989, by David Betz.
  16. *
  17. * Permission to use, copy, modify, distribute, and sell this software and its
  18. * documentation for any purpose is hereby granted without fee, provided that
  19. * the above copyright notice appear in all copies and that both that
  20. * copyright notice and this permission notice appear in supporting
  21. * documentation, and that the name of Hewlett-Packard and David Betz not be
  22. * used in advertising or publicity pertaining to distribution of the software
  23. * without specific, written prior permission.  Hewlett-Packard and David Betz
  24. * make no representations about the suitability of this software for any
  25. * purpose. It is provided "as is" without express or implied warranty.
  26. *
  27. * HEWLETT-PACKARD AND DAVID BETZ DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
  28. * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
  29. * IN NO EVENT SHALL HEWLETT-PACKARD NOR DAVID BETZ BE LIABLE FOR ANY SPECIAL,
  30. * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  31. * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  32. * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  33. * PERFORMANCE OF THIS SOFTWARE.
  34. *
  35. * See ./winterp/COPYRIGHT for information on contacting the authors.
  36. * Please send modifications, improvements and bugfixes to mayer@hplabs.hp.com
  37. * Post XLISP-specific questions/information to the newsgroup comp.lang.lisp.x
  38. *
  39. ********************************************************************************
  40. */
  41.  
  42. /******************************************************************************
  43.  * XmString Get_String_or_XmString_Arg_Returning_XmString(item)
  44.  *      LVAL *item;
  45.  ******************************************************************************/
  46. extern XmString Get_String_or_XmString_Arg_Returning_XmString();
  47.  
  48. /******************************************************************************
  49.  * void Wxms_Garbage_Collect_XmString(lval_xmstring)
  50.  *     LVAL lval_xmstring;
  51.  ******************************************************************************/
  52. extern void Wxms_Garbage_Collect_XmString();
  53.  
  54. /******************************************************************************
  55.  * LVAL Wxms_XmStringTable_To_Lisp_Vector(xmstrtab, size)
  56.  *     XmStringTable xmstrtab;
  57.  *     int           size;
  58.  ******************************************************************************/
  59. extern LVAL Wxms_XmStringTable_To_Lisp_Vector();
  60.  
  61. typedef struct _Deallocator_Pair {
  62.     XtPointer pointer;
  63.     void    (*deallocator)();
  64. } Deallocator_Pair;
  65.  
  66. typedef struct _SuperXmStringTable {
  67.   XmString* xmstrtab;        /* public */
  68.   int xmstrtab_end_idx;        /* public -- the number of elts in array */
  69.   Deallocator_Pair *freeables;    /* private */
  70.   int freeables_end_idx;    /* private */
  71.   int freeables_size;        /* private */
  72. } * SuperXmStringTable;
  73.  
  74. /******************************************************************************
  75.  * SuperXmStringTable Wxms_Cvt_LispStringSequence_to_SuperXmStringTable(lisp_val)
  76.  *     LVAL lisp_val;
  77.  ******************************************************************************/
  78. extern SuperXmStringTable Wxms_Cvt_LispStringSequence_to_SuperXmStringTable();
  79.  
  80. /******************************************************************************
  81.  * void Wxms_Free_SuperXmStringTable(superstrtab)
  82.  *     SuperXmStringTable superstrtab;
  83.  ******************************************************************************/
  84. extern void Wxms_Free_SuperXmStringTable();
  85.